package araujoCoronelVillamayor.plantasVsZombies.domain;

import araujoCoronelVillamayor.plantasVsZombies.domain.AtaqueLog;
import java.io.Serializable;

@SuppressWarnings("all")
public abstract class Criatura implements Serializable {
  private String _nombre;
  
  public String getNombre() {
    return this._nombre;
  }
  
  public void setNombre(final String nombre) {
    this._nombre = nombre;
  }
  
  private int _ataque;
  
  public int getAtaque() {
    return this._ataque;
  }
  
  public void setAtaque(final int ataque) {
    this._ataque = ataque;
  }
  
  private int _defensa;
  
  public int getDefensa() {
    return this._defensa;
  }
  
  public void setDefensa(final int defensa) {
    this._defensa = defensa;
  }
  
  private AtaqueLog _ataqueLogRegistro;
  
  public AtaqueLog getAtaqueLogRegistro() {
    return this._ataqueLogRegistro;
  }
  
  public void setAtaqueLogRegistro(final AtaqueLog ataqueLogRegistro) {
    this._ataqueLogRegistro = ataqueLogRegistro;
  }
  
  public Criatura(final String nombreParametro, final int ataqueParametro, final int defensaParametro) {
    this.setNombre(nombreParametro);
    this.setAtaque(ataqueParametro);
    this.setDefensa(defensaParametro);
  }
  
  public void ataca(final Criatura victima) {
    int _defensa = victima.getDefensa();
    int _poderAtaque = this.poderAtaque();
    int _minus = (_defensa - _poderAtaque);
    victima.setDefensa(_minus);
  }
  
  public boolean tieneVida() {
    int _poderDefensa = this.poderDefensa();
    boolean _greaterThan = (_poderDefensa > 0);
    return _greaterThan;
  }
  
  public String toString() {
    String _nombre = this.getNombre();
    return _nombre;
  }
  
  public abstract int poderAtaque();
  
  public abstract int poderDefensa();
}
